home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr46 / vfwdk.zip / VFWSDK.ZIP / SAMPLES / ICSAMPLE / ICSAMPLE.H < prev    next >
C/C++ Source or Header  |  1993-01-31  |  4KB  |  87 lines

  1. /****************************************************************************
  2.  *
  3.  *   icsample.h
  4.  *
  5.  *   Copyright (c) 1991-1993 Microsoft Corporation.  All Rights Reserved.
  6.  *
  7.  *    You have a royalty-free right to use, modify, reproduce and 
  8.  *    distribute the Sample Files (and/or any modified version) in 
  9.  *    any way you find useful, provided that you agree that 
  10.  *    Microsoft has no warranty obligations or liability for any 
  11.  *    Sample Application Files which are modified. 
  12.  *
  13.  ***************************************************************************/
  14.  
  15. typedef struct {
  16.     DWORD       fccHandler;             // this should be your handler
  17.     WORD        wPixelKeepRatio ;
  18.     WORD        wColorBitsToDrop ;
  19. } ICSTATE;
  20.  
  21. typedef struct {
  22. /********************************************************************/
  23. //
  24. //  These two fields MUST be first and in this order.
  25. //
  26.     DWORD       fccType;        // gives type of our state info ('vidc')
  27.                                 // this allows us to combine 'vcap' or other
  28.                                 // stream/ICM types into one driver
  29.     DRIVERPROC  DriverProc;     // driver proc for the instance
  30. /********************************************************************/
  31.     DWORD       dwFlags;        // flags from ICOPEN
  32.     ICSTATE     CurrentState;    // current state of compressor.
  33.     int         nCompress;      // count of COMPRESS_BEGIN calls
  34.     int         nDecompress;    // count of DECOMPRESS_BEGIN calls
  35.     int     nDraw;            // count of DRAW_BEGIN calls
  36. } INSTINFO, *PINSTINFO;
  37.  
  38. BOOL       NEAR PASCAL Load(void);
  39. void       NEAR PASCAL Free(void);
  40. INSTINFO * NEAR PASCAL Open(ICOPEN FAR *icinfo);
  41. DWORD      NEAR PASCAL Close(INSTINFO * pinst);
  42. DWORD       NEAR PASCAL GetState(INSTINFO * pinst, LPVOID pv, DWORD dwSize);
  43. DWORD      NEAR PASCAL SetState(INSTINFO * pinst, LPVOID pv, DWORD dwSize);
  44. DWORD       NEAR PASCAL GetInfo(INSTINFO * pinst, ICINFO FAR *icinfo, DWORD dwSize);
  45.  
  46. BOOL       NEAR PASCAL QueryAbout(INSTINFO * pinst);
  47. DWORD      NEAR PASCAL About(INSTINFO * pinst, HWND hwnd);
  48. BOOL       NEAR PASCAL QueryConfigure(INSTINFO * pinst);
  49. DWORD       NEAR PASCAL Configure(INSTINFO * pinst, HWND hwnd);
  50.  
  51. LRESULT    NEAR PASCAL CompressBegin(INSTINFO * pinst, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut);
  52. LRESULT    NEAR PASCAL CompressQuery(INSTINFO * pinst, LPBITMAPINFOHEADER lpbiIn,LPBITMAPINFOHEADER lpbiOut);
  53. LRESULT    NEAR PASCAL CompressGetFormat(INSTINFO * pinst, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut);
  54. LRESULT    NEAR PASCAL Compress(INSTINFO * pinst,ICCOMPRESS FAR *icinfo, DWORD dwSize);
  55. LRESULT    NEAR PASCAL CompressGetSize(INSTINFO * pinst, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut);
  56. LRESULT    NEAR PASCAL CompressEnd(INSTINFO * lpinst);
  57.  
  58. LRESULT    NEAR PASCAL DecompressBegin(INSTINFO * pinst, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut);
  59. LRESULT    NEAR PASCAL DecompressQuery(INSTINFO * pinst, LPBITMAPINFOHEADER lpbiIn,LPBITMAPINFOHEADER lpbiOut);
  60. LRESULT    NEAR PASCAL DecompressGetFormat(INSTINFO * pinst, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut);
  61. LRESULT    NEAR PASCAL DecompressGetPalette(INSTINFO * pinst, LPBITMAPINFOHEADER lpbiIn, LPBITMAPINFOHEADER lpbiOut);
  62. LRESULT    NEAR PASCAL Decompress(INSTINFO * pinst,ICDECOMPRESS FAR *icinfo, DWORD dwSize);
  63. LRESULT    NEAR PASCAL DecompressEnd(INSTINFO * pinst);
  64.  
  65. BOOL       NEAR PASCAL DrawQuery(INSTINFO * pinst, LPBITMAPINFOHEADER lpbiInput);
  66. LRESULT    NEAR PASCAL DrawBegin(INSTINFO * pinst,ICDRAWBEGIN FAR *icinfo, DWORD dwSize);
  67. LRESULT    NEAR PASCAL Draw(INSTINFO * pinst,ICDRAW FAR *icinfo, DWORD dwSize);
  68. LRESULT    NEAR PASCAL DrawEnd(INSTINFO * pinst);
  69.  
  70. /********************************************************************
  71.  ********************************************************************/
  72.  
  73. #define ID_SCROLL   101
  74. #define ID_TEXT     102
  75. #define ID_SCROLL2  103
  76. #define ID_TEXT2    104 
  77.  
  78. /********************************************************************
  79.  ********************************************************************/
  80.  
  81. #ifdef DEBUG
  82.     extern void FAR CDECL dprintf(LPSTR, ...);
  83.     #define DPF dprintf
  84. #else
  85.     #define DPF / ## /
  86. #endif
  87.